package com.serkol.utils;

import cn.hutool.core.lang.Console;

import java.math.BigDecimal;

public class BigDecimalCompare {
    private BigDecimalCompare() {
    }

    /**
     * a是否等于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean eq(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) == 0;
    }

    /**
     * a是否小于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean lt(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) < 0;
    }

    /**
     * a是否大于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean gt(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) > 0;
    }

    /**
     * a是否小于等于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean le(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) < 1;
    }

    /**
     * a是否大于等于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean ge(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) > -1;
    }


    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("3.1415");
        BigDecimal b = new BigDecimal("4.14");
        Console.log("eq:{}",BigDecimalCompare.eq(a,b));
        Console.log("lt:{}",BigDecimalCompare.lt(a,b));
        Console.log("gt:{}",BigDecimalCompare.gt(a,b));
        Console.log("le:{}",BigDecimalCompare.le(a,b));
        Console.log("ge:{}",BigDecimalCompare.ge(a,b));
    }
}
